
//-------------------------
// Legislators as Lobbyists
// TABLE 3
//-------------------------

clear
use masterdata_taa.dta

encode state, gen(state2)
encode county, gen(county2)

// generate demographic variables 

gen senior = (pop65to74 + pop75to84 + popover85)/population
gen whiteratio = white/population
gen blackratio = black/population
gen a1 = white/population
gen a2 = black/population
gen a3 = native/population 
gen a4 = asian/population
gen a5 = pacific/population
gen a6 = otherrace/population 
gen a7 = twomorerace/population
gen ethnic = 1 - (a1^2 + a2^2 + a3^2 + a4^2 + a5^2 + a6^2 + a7^2)
gen nohs = lessthanhs/pop_over25
gen hs = highschool/pop_over25 
gen loweredu = nohs + hs
gen college = bachelor/pop_over25
gen advanced = (master + professional + doctoral)/pop_over25
gen unemployment = pop_unemployed/pop_civilian


// generate contact variables 

gen housetotal = houcontact_s + houcontact_m
gen senatetotal = sencontact_s + sencontact_m
gen housetotal_t = houcontact_s_t + houcontact_m_t
gen senatetotal_t = sencontact_s_t + sencontact_m_t

gen puredolcontact_h = housetotal - housetotal_t 
gen puredolcontact_s = senatetotal - senatetotal_t


gen house_taa_dummy = 1 if housetotal_t  > 0
replace house_taa_dummy = 0 if housetotal_t == 0
gen senate_taa_dummy = 1 if senatetotal_t  > 0
replace senate_taa_dummy = 0 if senatetotal_t == 0


// generate district unique ID

by state district, sort: gen newid = 1 if _n == 1
replace newid = sum(newid) 

gen countrymention = 0
replace countrymention = 1 if country !=""

gen lnestnoworkers = ln(estnoworkers +1)

replace estnoworkers = estnoworkers/1000

replace pubunionmember_m = pubunionmember if pubunionmember_m  ==.
replace pubunionmember_m = pubunionmember_m /100

macro define member_char "leadership_sen sjuris leadership_hou hjuris happrocom sapprocom sendem housedem majority_h majority_s pres_party_h pres_party_s"
macro define member_char2 "leadership_sen sjuris2 leadership_hou hjuris2 happrocom sapprocom sendem housedem majority_h majority_s pres_party_h pres_party_s"
macro define district_char1 "countrymention lnestnoworkers worker_pet l_manu_emp change_manuf senior whiteratio loweredu unemployment pubunionmember_m"
macro define district_char2 "countrymention worker_pet l_manu_emp change_manuf senior whiteratio loweredu unemployment pubunionmember_m"

gen indirect = (housetotal_t + senatetotal_t) - directmembercontact
replace indirect = 0 if indirect < 0


gen overturn = .
replace overturn = 1 if reconsider_decision == 3 
replace overturn = 0 if overturn == . & reconsider_decision != 0


eststo clear
eststo: quietly reg overturn after_contact before_contact , vce(cluster newid) 
eststo: quietly reg overturn after_contact before_contact  indirect puredolcontact_h puredolcontact_s i.year, vce(cluster newid) 
eststo: quietly areg overturn after_contact before_contact indirect puredolcontact_h puredolcontact_s $member_char $district_char2 i.year, a(newid) vce(cluster newid)
eststo: quietly areg overturn after_contact before_contact indirect puredolcontact_h puredolcontact_s $member_char $district_char1 i.year, a(newid) vce(cluster newid)
esttab, star(** 0.05 *** 0.01) drop(*year*) ar2


